The central processor of a computer carries out the functions of data processing and operand manipulation. These functions can be designed to be carried out at an extremely fast rate. But to take advantage of the maximum execution rate of the processor, data must be delivered to the processor and returned from it at the rate required by the processor. Data can be received from numerous sources such as tape drives, disk drives and real time data. An input/output bus must be used to transmit the data to and from the central processor. Typically there are numerous types of devices that must be connected to an input/output bus. These numerous devices as well as the processor itself compete for the use of the bus.
Conventional input/output buses transfer an address together with each unit of data that is transmitted through the bus. Such a technique simplifies the interfacing to the bus and makes it easy to handle interruptions to the data transfer. However, this method of data transfer has a substantial overhead which seriously reduces the effective bandwidth of the data transfer through the bus. The limited bandwidth of a conventional bus can prevent the central processor from being used to its fullest capability.
In a further aspect of interconnecting the various elements of a computer system, there must be provided a means of communication for interrupts. Interrupt requests serve such functions as indicating completion of a task, requesting action or indicating an error condition. A conventional interrupt system has one element as the receiver and the remaining elements serving as transmitters of interrupts. The one receiver must provide all the necessary processing to carry out the requested functions of the other elements. This conventional interrupt configuration limits the flexibility of operations that can be carried out by the computer system and burdens the one receiving element with a substantial overhead penalty.
In view of the above considerations there exists a need for an input/output bus which provides a high bandwidth for data transfer by substantially reducing the overhead requirements of the transfer technique. There further exists a need for an interrupt system which can allow any of the elements of the system to provide an interrupt request to any of the other elements in the system without the need to route the interrupt through a central receiver.